use std::cmp::min;
pub fn dp_rec_mc(amount: u32) -> u32 {
    let v = [1, 2, 5, 10, 20, 30, 50, 100];
    const SUM : usize = 100010;
    let mut f = [u32::MAX; SUM];
    f[0] = 0;
    for i in 1..=amount {
        for &coin in &v {
            if i >= coin {
                f[i as usize] = min(f[(i - coin) as usize] + 1, f[i as usize]);
            }
        }
    }
    f[amount as usize]
}
